package com.jingyanzi.sys.domain.service;

import com.jingyanzi.sys.domain.DictionariesDO;
import com.jingyanzi.sys.domain.NameMappingDO;
import com.jingyanzi.sys.domain.SettingDO;
import com.jingyanzi.sys.domain.query.DictionariesQueryDO;
import com.jingyanzi.sys.domain.query.NameMappingQueryDO;
import com.jingyanzi.sys.domain.result.ResultDO;
/**
 * 用户配置管理
 * @author 神武圣德恭敬贤达仁孝谦治辉智惠大皇帝
 *
 */
public interface ISettingService {
	/**
	 * 添加字典
	 * @param dictionarieDO
	 * @return
	 */
	public ResultDO addDictionaries(DictionariesDO dictionarieDO);
	
	
	public ResultDO updateDictionaries(DictionariesDO dictionarieDO);
	
	/**
	 * 返回字典
	 * @param dictionarieDO
	 * @return
	 */
	public ResultDO getDictionariesById(Integer id);
	
	/**
	 * 删除字典
	 * @param dictionarieDO
	 * @return
	 */
	public ResultDO removeDictionaries(Integer id);
	
	/**
	 * 查询字典
	 * @param dictionarieDO
	 * @return
	 */
	public ResultDO queryDictionaries(DictionariesQueryDO query);
	
	/**
	 * 查询字典
	 * @param dictionarieDO
	 * @return
	 */
	public ResultDO dictionariesList(DictionariesQueryDO query);
	
	/**
	 * 添加名字映射
	 * @param nameMappingDO
	 * @return
	 */
	public ResultDO addNameMapping(NameMappingDO nameMappingDO);
	
	/**
	 * 返回名字映射
	 * @param nameMappingDO
	 * @return
	 */
	public ResultDO getNameMapping(Integer id);
	
	
	/**
	 * 返回名字映射通过NameCode
	 * @param nameMappingDO
	 * @return
	 */
	public ResultDO getNameMappingByNameCode(String nameCode);
	
	/**
	 * 修改名字映射
	 * @param nameMappingDO
	 * @return
	 */
	public ResultDO modifiNameMapping(NameMappingDO nameMappingDO);
	
	/**
	 * 删除名字映射
	 * @param nameMappingDO
	 * @return
	 */
	public ResultDO removeNameMapping(Integer id);
	
	/**
	 * 查询名字映射
	 * @param nameMappingDO
	 * @return
	 */
	public ResultDO queryNameMapping(NameMappingQueryDO queryDO);

	/**
	 * 添加系统变量
	 * @param settingDO
	 * @return
	 */
	public ResultDO addSetting(SettingDO settingDO);
	
	/**
	 * 修改系统变量
	 * @param settingDO
	 * @return
	 */
	public ResultDO editSetting(SettingDO settingDO);

	/**
	 * 通过id查询系统变量
	 * @param settingDO
	 * @return
	 */
	public ResultDO getSetting(Integer id);
	
	/**
	 * 通过code查询系统变量
	 * @param settingDO
	 * @return
	 */
	public ResultDO getSettingByCode(String code);

	public ResultDO removeSetting(Integer id);
	
	public ResultDO getSettings();
}
